home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK2.toast / Development Kits (Disc 2) / QuickDraw GX / Programming Stuff / GXEdit Library & Doc / GXEditError.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-10  |  1.3 KB  |  68 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:            GXEditError.c
  3.     
  4.     Contains:
  5.     
  6.     Written by:        Barton R. House
  7.     
  8.     Copyright:        © 1993 by Apple Computer, Inc., All rights reserved.
  9.     
  10. */
  11.  
  12. #include <Traps.h>
  13.  
  14. #include "GXEdit.h"
  15. #include "GXEditDoc.h"
  16. #include "GXEditError.h"
  17.  
  18. void gxEditPostError(DocPtr dp, GXEditError error)
  19. {
  20.     switch(error) {
  21.     case gx_edit_no_error:    /* ??? */ break;
  22.     case gx_edit_internal_fatal_error: DebugStr("\pGXEdit fatal error"); break;
  23.     case gx_edit_warning: DebugStr("\pGXEdit warning"); break;
  24.     case gx_edit_bad_magic: DebugStr("\pGXEdit bad magic"); break;
  25.     }
  26.         
  27.     if(dp != nil) {
  28.     
  29.         if(dp->errorProc != nil)
  30.             (*dp->errorProc)(error, dp->errorProcRef);
  31.         
  32.         if(dp->stickyError == gx_edit_no_error)
  33.             dp->stickyError = error;
  34.             
  35.         dp->error = error;
  36.         
  37.     }
  38.     
  39. }
  40.  
  41. void gxEditSetUserError(DocPtr dp, GXEditUserErrorProc errorProc, void * reference)
  42. {
  43.     dp->errorProc = errorProc;
  44.     dp->errorProcRef = reference;
  45. }
  46.  
  47. void gxEditGetUserError(DocPtr dp, GXEditUserErrorProc * errorProc, void ** reference)
  48. {
  49.     if(errorProc != nil)
  50.         *errorProc = dp->errorProc;
  51.         
  52.     if(reference != nil)
  53.         *reference = dp->errorProcRef;
  54. }
  55.  
  56. void gxEditGetError(DocPtr dp, GXEditError * error, GXEditError * stickyError)
  57. {
  58.     
  59.     if(error != nil)
  60.         *error = dp->error;
  61.     
  62.     if(stickyError != nil)
  63.         *stickyError = dp->stickyError;
  64.         
  65.     dp->stickyError = gx_edit_no_error;
  66.     
  67. }
  68.